[アップデート] AWS Audit Manager の AWS Generative AI Best Practices Framework が v2 にアップグレードされ、SageMaker もマッピングされるようになりました
いわさです。
AWS Audit Manager では監査や統制に使える様々なフレームワークが提供されています。
その中で、2023 年 11 月に Generative AI を適切に利用するためのフレームワークである AWS Generative AI Best Practices Framework が、AWS の AI・コンプライアンス・セキュリティ専門家によって開発され提供されていました。
上記によって Amazon Bedrock 利用時の監査とエビデンス収集の一部自動化が可能になったのですが、今朝のアップデートでサポート範囲に Amazon SageMaker も含まれる形となり、フレームワークが v2 としてアップグレードされました。
フレームワークをチェックしてみた
フレームワークの概要は次の公式ドキュメントで解説されています。
フレームワークは 8 つのコントロールセットの中で 110 個のコントロールによって構成されています。
Audit Manager のコントロールは全てが監査を自動チェックしてくれるわけではなく、一部のコントロールは利用者が手動でエビデンスをアップロードするようなマニュアルタイプのコントロールも存在しています。
このフレームワークでは、自動収集タイプが 71 個、手動収集タイプが 39 個でした。3 ~ 4 割は手動でのチェックが必要ということです。
ただし、コントロールの詳細情報までは上記ドキュメントでは確認できません。
AWS Audit Manager へアクセスしてフレームワークの内容を直接確認してみましょう。
次のように AWS Audit Manager が有効化されている環境であればフレームワークライブラリから「AWS Generative AI Best Practices Framework」の名称で検索が可能です。
確認出来るのは今回アップグレードされた v2 のみで、v1 は既に利用が出来なくなっています。
過去にアセスメントで v1 を利用されていた方も、今後は v2 を利用頂く必要がありますのでお気をつけください。
次のように 8 つのコントロールセット(カテゴリみたいなやつ)と 110 個のコントロール(チェック項目みたいなやつ)が確認できます。
アップデートを確認するためにわかりやすいところで AWS Config タイプのコントロールを確認してみると、次のように SageMaker っぽいデータソースマッピングが追加されていますね。
AWS Config でも確認してみると AWS マネージド型ルールとして存在しているものでした。
SageMaker のルートアクセス設定が有効化どうかを自動チェックしてくれる Config ルールです。
上記コントロールではこの Config ルールを自動的に Audit Manager が監査を行ってくれるというわけです。
フレームワークの内容をまとめてみた
フレームワークが更新されたよというアップデートではあるのですが、このフレームワークなかなか良いなと思っていて、AWS Audit Manager を使っていない方でも Bedrock や SageMaker を使っている方であれば監査などの観点に利用出来ると思っています。
そこで、今回は 110 個のコントロールの内容を全てまとめてみましたので紹介します。
手作業で情報を集めて全部機械翻訳しただけですが、疲れました。腕がもう動きません。
Accuracy (コントロール数:15)
ID | 内容 | 説明 | チェックタイプ |
---|---|---|---|
ACCUAI3.1 | モデル評価メトリクス | タスクに応じて適切なメトリクスを選択してモデルの精度を測定する。例えば、テキスト生成にはBilingual Evaluation Understudy (BLEU)、画像生成にはFrechet Inception Distance (FID)を使用する。 | Manual |
ACCUAI3.2 | 精度のための定期的な再学習 | データ分布が時間とともに変化するため、新しいデータを使ってモデルを定期的に再学習し、精度を維持する。 | AWS API calls |
ACCUAI3.3 | ヒューマンインザループ (HITL) による検証 | 精度を定量化するのが難しい場合は、ヒューマン評価者を活用してAI生成コンテンツの検証を行う。 | Manual |
ACCUAI3.4 | 定期的な監査 | システムの更新や新しいデータソースの統合後など、時間の経過とともにモデルの精度を定期的に評価する。 | AWS API calls |
ACCUAI3.5 | 精度のためのフィードバックループ | ユーザーやドメイン専門家からのフィードバックを活用して、不正確な部分を修正し、モデルを改善する仕組みを設ける。 | Manual |
ACCUAI3.6 | ソースの検証 | データソースが評判が良く信頼できる、データの品質が高いことを確認する。 | AWS API calls |
ACCUAI3.7 | 整合性チェック | データが元の形から改ざんや変更されていないことを検証する。 | AWS API calls, AWS Config |
ACCUAI3.8 | スキーマの互換性 | 新しいデータソースと既存のデータ構造が互換性があることを確認する。 | Manual |
ACCUAI3.9 | エラー分析 | 不正確性が検出された場合は、根本原因を理解するためにエラー分析を行う。これにより、追加のデータ収集やモデルの調整などの是正措置を講じることができる。 | AWS API calls, AWS Config |
ACCUAI3.10 | 検証とクロスバリデーション | データを訓練、検証、テストセットに分割する。k分割交差検証などの手法を使って、モデルの精度が異なるデータサブセットで一貫していることを確認する。 | AWS API calls |
ACCUAI3.11 | 欠損値 | 欠損データがないかチェックし、補完方法や他の処理を決める。 | Manual |
ACCUAI3.12 | ノイズと外れ値 | データにノイズや外れ値がないかを評価し、モデル学習に影響を与えないようにする。 | Manual |
ACCUAI3.13 | データ前処理 | 欠損値の処理、外れ値の除去、異常値の処理などデータクリーニングを行う。特徴量エンジニアリングによりデータ品質を向上させる。 | Manual |
ACCUAI3.14 | 高品質なデータソース | 生成AIの精度は学習データの品質に大きく依存するため、データが代表的で包括的、バイアスや誤りがないことを確認する。 | Manual |
ACCUAI3.15 | 更新頻度 | データソースの更新頻度を理解し、AIシステムがそれに適応できることを確認する。 | AWS Config |
Fair (コントロール数:13)
ID | 内容 | 説明 | チェックタイプ |
---|---|---|---|
FAIRAI3.1 | バイアスの評価 | 学習データにある文化的、人種的、ジェンダーなどの潜在的なバイアスを分析する。 | Manual |
FAIRAI3.2 | サンプルの代表性 | モデルを実際に展開する場面を反映するよう、学習データが代表的であることを確認する。 | Manual |
FAIRAI3.3 | 文化的・状況的関連性 | 特に世界規模やさまざまな層のユーザーを対象とする場合、データが文化的・状況的に適切であることを確認する。 | Manual |
FAIRAI3.4 | バイアスと倫理に関する研修 | 一般的なAIバイアスに関する倫理的考慮事項と潜在的な問題点について、チームメンバーを研修する。 | Manual |
FAIRAI3.5 | 多様なチーム | 生成AIの開発とレビューのチームを多様化する。多様な視点によりバイアスの発見と軽減につながる。 | Manual |
FAIRAI3.6 | 倫理委員会 | 倫理的なAIの利用に焦点を当てた委員会や審査委員会を設置し、ガイドラインの策定とバイアスの懸念事項の審査を行う。 | Manual |
FAIRAI3.7 | 禁止ポリシー | ユーザーが生成できないコンテンツの種類を決定し、文書化する。 | AWS API calls |
FAIRAI3.8 | 多様なデータ収集 | 問題領域とターゲットユーザーを適切に表すよう、多様で代表的なデータを収集する。 | AWS API calls |
FAIRAI3.9 | バイアス検出ツール | 学習データやモデル出力の潜在的なバイアスを自動的に検出するツールを導入する。 | Manual |
FAIRAI3.10 | 前処理テクニック | モデルに入力する前に、データ拡張、再重み付け、再サンプリングなど、既知のバイアスを軽減する手法を使う。 | AWS API calls |
FAIRAI3.11 | モデルの公平性制約 | モデル学習時に、公平性の制約や目的関数を組み込む。 | AWS API calls |
FAIRAI3.12 | シミュレーションとシナリオテスト | デプロイ前に、多様なシミュレーションシナリオでモデルをテストし、バイアスのある傾向がないことを確認する。 | Manual |
FAIRAI3.13 | 継続的なモニタリング | 自動化されたモニタリングツールを使って、リアルタイムでバイアスのある結果や動作を検出し、アラートする。 | AWS API calls, AWS Config |
Privacy (コントロール数:14)
ID | 内容 | 説明 | チェックタイプ |
---|---|---|---|
PRIAI3.1 | 同意に関するコミュニケーション | ユーザーにデータの使用方法、収集理由、AIの活用方法を明確に伝える。わかりやすいプライバシーポリシーと説明を提供する。 | Manual |
PRIAI3.2 | モデルの同意管理 | ユーザー生成やプロプライエタリなモデルを使う場合、必要な許可を得ていることを確認する。 | Manual |
PRIAI3.3 | データの同意管理 | ユーザーや対象者から十分な同意を得てデータを収集する。必要に応じて同意の管理、更新、取り消しのメカニズムを実装する。 | Manual |
PRIAI3.4 | ヒューマンインザループ (HITL) での識別 | 生成AIデータに適用される機密データのシナリオを特定する。 | Manual |
PRIAI3.5 | ヒューマンインザループ (HITL) の実装 | 個人を特定できる情報 (PII) の不適切な流出や意図しない開示を防ぐため、システム管理と人的介入メカニズムを導入する。 | AWS API calls, AWS Config |
PRIAI3.6 | プライバシー侵害時の対応手順 | PII の不適切な流出や意図しない開示が発生した場合の通知手順を定める。 | AWS API calls, AWS Config |
PRIAI3.7 | 機密性の評価 | 金融、健康、その他機密情報を含む場合は、データの機密性レベルを評価し、適切に取り扱う。 | Manual |
PRIAI3.8 | 第三者のチェック | AIと併せて使用するサードパーティのサービスやツールが、堅固なプライバシー基準に準拠していることを確認する。 | Manual |
PRIAI3.9 | PII の匿名化 | データセットから個人を特定できる情報 (PII) を削除または匿名化する。 | Manual |
PRIAI3.10 | 個人識別子の匿名化または仮名化 | 個人を特定できる識別子を削除または変更し、個人データが特定されないようにする。 | Manual |
PRIAI3.11 | 差分プライバシー | データや問い合わせ結果に「ノイズ」を付加し、個人データが特定できないようにする差分プライバシーの手法を実装する。 | Manual |
PRIAI3.12 | データの最小化 | AIの機能に必要最小限のデータのみを収集する。過剰なデータ収集はプライバシーリスクを高める。 | Manual |
PRIAI3.13 | プライバシー研修 | AIに関わるすべてのチームメンバーに、プライバシーの原則、実践、規制について研修する。 | Manual |
PRIAI3.14 | プライバシーに関する最新情報の把握 | 最新のプライバシー規制とベストプラクティスを把握し、AIシステムとその管理を適切に更新する。 | AWS API calls |
Resilience (コントロール数:10)
ID | 内容 | 説明 | チェックタイプ |
---|---|---|---|
RESAI3.1 | 緊急時対応計画 | 運用障害や停止時の正確な復旧方法を文書化し、実装する。 | AWS Config |
RESAI3.2 | 耐性の範囲 | 生成AIの機密性、完全性、可用性を維持するために重要なすべてのコンポーネントとアセットを特定する。 | Manual |
RESAI3.3 | 耐性のテスト | 定期的に耐性や緊急時対応計画をテストし、結果を記録して計画に反映する。潜在的な事象に即したシミュレーションイベントを組み込む。 | Manual |
RESAI3.4 | バックアップと復元 | モデルのバージョン、学習パラメータ、システム状態を定期的にバックアップする。新しくデプロイしたモデルに問題がある場合は、以前の安定したバージョンに復元できる。 | AWS API calls, AWS Config |
RESAI3.5 | バックアップの適合性 | バックアップシステムにも、プライマリシステムと同じセキュリティ設定が含まれていることを確認する。 | Manual |
RESAI3.6 | バックアップの検証 | システムの停止や問題が発生する前に、定期的にバックアップされたモデルやシステムをテストし、信頼性を検証する。 | AWS API calls, AWS Config |
RESAI3.7 | 冗長なストレージ | バックアップデータの保管場所が、現行バージョンとは完全に分離されていることを確認する。 | AWS API calls, AWS Config |
RESAI3.8 | モニタリング | AIシステムを実時間でモニタリングし、異常や中断に対するアラートを設定する。 | AWS API calls, AWS Config |
RESAI3.9 | オートスケーリングとロードバランシング | 需要が高まった際にリソースを迅速にスケールアップし、システムの停止を防ぐためにロードを効果的に分散する。 | AWS API calls, AWS Config |
RESAI3.10 | 地理的な冗長性 | 地域的な停電や災害に備えて、AIシステムを複数のデータセンターに展開する。 | Manual |
Responsible (コントロール数:17)
ID | 内容 | 説明 | チェックタイプ |
---|---|---|---|
RESPAI3.1 | AIの信頼性 | 組織のポリシー、プロセス、手順の中で、生成AIがどのように信頼性を備えているかを文書化する。 | Manual |
RESPAI3.2 | AIの責任に関するフィードバックループ | 新しいデータを統合することで、モデルの出力が将来の入力に循環的に影響するフィードバックループが生じないかを確認する。 | AWS API calls |
RESPAI3.3 | 新しいデータの協議 | 新しいデータのソース、性質、品質、扱いについて文書化する。これにより透明性が確保され、トラブルシューティングや監査に役立つ。 | Manual |
RESPAI3.4 | 監査可能なモデル決定 | 重要な用途では、必要に応じて決定を追跡・理解できるよう、モデルの決定履歴を記録する。 | Manual |
RESPAI3.5 | 説明可能性と解釈可能性 | 決定の根拠をより深く理解できるようなモデルや手法を使う。Explainable AI (XAI)のツールや手法を活用し、AIの出力ロジックに対する懸念を和らげる。 | Manual |
RESPAI3.6 | ステークホルダーとのコミュニケーション | 新しいデータソースに関する内部チーム、ユーザー、クライアント、規制当局などのステークホルダーの懸念と期待を理解する。 | Manual |
RESPAI3.7 | 影響の理解 | 現在の環境に生成AIを導入することのリスクや、生成AIの構造 (システム、データ、モデル) への変更の影響を評価する。 | Manual |
RESPAI3.8 | リスクと許容度の文書化 | 特定したリスクに対処するための具体的な管理策を定義、文書化、実装する。組織のリスク許容度も明確にする。 | AWS API calls |
RESPAI3.9 | AIのRACIの策定 | 特定したリスクに対処するための役割と責任、コミュニケーションの流れ、管理策の所有権を明確にする。 | Manual |
RESPAI3.10 | リスク管理の研修 | AIに関連するポリシー、手順、合意事項に沿って、担当者が適切な職務を遂行できるよう、定期的な研修を実施する。 | Manual |
RESPAI3.11 | リスク対策の十分性のテスト | これらの管理策の有効性と、その所有権を定期的にテストする。 | Manual |
RESPAI3.12 | 第三者管理 | 生成AIアーキテクチャ内の第三者テクノロジーに対する管理策を策定、文書化、実装、運用する。 | AWS API calls, AWS Config |
RESPAI3.13 | 継続的なリスクモニタリング | AIのパフォーマンス、インシデント、ユーザーフィードバックを踏まえて、定期的に振り返りを行い、新たなリスクの検討や現行リスクの対応状況の見直しを行う。 | Manual |
RESPAI3.14 | 第三者監査 | AIシステムの安全性、倫理性、有効性、公平性を評価するため、外部監査を検討する。 | Manual |
RESPAI3.15 | 倫理ガイドライン | 生成AIモデルの展開と利用に関する倫理ガイドラインを策定し、遵守する。 | Manual |
RESPAI3.16 | 規制への対応と最新情報の把握 | 業界や地域の関連する規制要件を最新の状態に保ち、遵守する。データの出所と事業地域に関連するデータ保護規制 (GDPR、CCPA など) にも対応する。 | Manual |
RESPAI3.17 | 文書化と制限事項のコミュニケーション | モデルの設計、学習データ、評価基準について詳細な文書化を行う。データソース、手法、目的も明確にする。ユーザーやステークホルダーに対して、生成AIシステムの制限事項を明確に伝える。 | AWS API calls |
Safe (コントロール数:15)
ID | 内容 | 説明 | チェックタイプ |
---|---|---|---|
SAFEAI3.1 | データのサニタイズ | 学習データに有害、誤解を招く、不適切なコンテンツが含まれていないことを確認する。 | Manual |
SAFEAI3.2 | 継続的な学習と更新 | 環境や要件の変化に適応するため、新しいデータを使ってAIモデルを定期的に更新・学習し直す。この更新プロセスは透明性と説明責任を持つ必要がある。 | AWS API calls |
SAFEAI3.3 | 個別データ点の露出の防止 | モデル出力から個別のデータ点を逆算できないような手法を使う。 | AWS API calls |
SAFEAI3.4 | 安全性のための定期的な再学習 | 最新のデータを使ってモデルを継続的に改善し、精度と適切性を維持する。 | AWS API calls |
SAFEAI3.5 | デプロイメントの構造 | デプロイする生成AIシステムとモデルの目的、設定、対象ユーザー、期待、影響について明確に文書化する。目的と使用に関する前提条件と制限も記載する。 | AWS API calls, AWS Config |
SAFEAI3.6 | デプロイメントの成果 | システムの機能と性能の目的を検討し、文書化する。 | AWS API calls |
SAFEAI3.7 | レート制限 | 悪用の防止や運用能力を考慮し、ユーザーやシステムの一定期間当たりのリクエスト数に制限を設ける。 | AWS API calls |
SAFEAI3.8 | 出力のフィルタリング | 事前定義のリストや分類器を使って、有害、不適切、意味のない出力を防ぐ。 | AWS API calls |
SAFEAI3.9 | ユーザーフィードバックループ | ユーザーが問題のある出力にフィードバックを提供し、モデルの改善につなげられるようにする。 | Manual |
SAFEAI3.10 | 定期的なモニタリングとレビュー | モデルのパフォーマンスを監視し、生成データに基づいて行動を定期的にレビューする。これにより、AIが予め定義した範囲と倫理的境界内で動作することを確認する。 | AWS API calls |
SAFEAI3.11 | パフォーマンスメトリクス | 事前に定義したパフォーマンスメトリクスを使って、定期的にモデルの精度と安全性基準への適合性を評価する。 | AWS API calls, AWS Config |
SAFEAI3.12 | 攻撃テスト | 意図的にモデルを壊したり、不適切な出力を生成したりするシナリオを開発し、定期的にテストする。 | Manual |
SAFEAI3.13 | レビュー基準 | モデルの改善に最も重要なデータを特定する。 | Manual |
SAFEAI3.14 | 人的レビュー | 重要な用途では、AI生成の出力をユーザーが確認する前に人間がレビューする仕組みを設ける。 | Manual |
SAFEAI3.15 | 人的レビューのための エスカレーション手順 | 専門家による人的レビューが必要な出力や、事前定義の信頼度しきい値を超えるものについての対応手順を定める。 | AWS API calls, AWS Config |
Secure (コントロール数:22)
ID | 内容 | 説明 | チェックタイプ |
---|---|---|---|
SECAI3.1 | 多要素認証 | 生成AIモデルで使用されるデータにアクセスする際の多要素認証を文書化、実装、運用する。 | AWS API calls, AWS Config |
SECAI3.2 | 転送中のデータ暗号化 | AIモデルの入出力データに対して、業界標準以上の端到端暗号化を実装する。 | AWS Config |
SECAI3.3 | 保管中のデータ暗号化 | AIモデルの学習に使用されるデータ、およびAIモデルが生成するメタデータについて、保管時の暗号化を実装する。 | AWS API calls, AWS Config |
SECAI3.4 | 入力検証 | 悪意のあるコード実行を防ぐため、入力データを検証する。 | AWS API calls, AWS Config |
SECAI3.5 | 相互認証 | データ送信時に関係者全員の ID を検証する相互認証を実装する。 | AWS API calls |
SECAI3.6 | ユーザー識別 | 生成AIシステムとデータソースにアクセスできるユーザータイプの役割と責任を文書化する。 | AWS API calls, AWS Config |
SECAI3.7 | 最小権限 | 生成AIシステムへのアクセス権限は最小限に抑える原則を文書化、実装、運用する。 | AWS Config |
SECAI3.8 | 定期的なレビュー | 生成AIシステムへのユーザーアクセスを定期的にレビューし、文書化、実装、運用する。 | AWS API calls, AWS Config |
SECAI3.9 | アクセス終了 | アクセス終了時のプロセスを文書化、実装、運用し、生成AIシステムへのアクセスを確実に削除する。 | Manual |
SECAI3.10 | インシデント対応計画 | 生成AIシステムに影響するセキュリティインシデントへの対応計画を策定、文書化、維持する。 | Manual |
SECAI3.11 | インシデントテスト | インシデントの影響を特定・軽減し、システム機能を評価するプロセスを定義、文書化、定期的にテストする。 | AWS API calls, AWS Config |
SECAI3.12 | 鍵の更新 | 業界のベストプラクティスに基づいて、暗号鍵のローテーションポリシーを実装する。 | AWS API calls, AWS Config |
SECAI3.13 | IDS/IPS の実装 | AIモデルの使用状況や動作の異常、サプライチェーン攻撃を検知する侵入検知システム (IDS) と侵入防御システム (IPS) を導入する。 | AWS API calls, AWS Config |
SECAI3.14 | 職務の分離 | データ、モデル、システムにわたって矛盾した職務を単一ユーザーが行えないよう、職務分離プロセスを実装する。 | AWS Config |
SECAI3.15 | アクセスログ | 生成AIモデルへのアクセス要求を記録、レビュー、承認するメカニズムを要求し、有効化する。 | AWS CloudTrail, AWS Config |
SECAI3.16 | アクセス承認 | 生成AIシステムへのアクセス要求を記録、レビュー、承認する自動化メカニズムを要求し、有効化する。 | Manual |
SECAI3.17 | 監査証跡 | 特に機密性の高い用途では、レビューと説明責任のために、やりとりの記録を保持する。 | AWS API calls, AWS CloudTrail, AWS Config |
SECAI3.18 | ネットワークセグメンテーション | AIインフラの重要コンポーネントをネットワーク環境内で分離する。 | AWS API calls, AWS Config |
SECAI3.19 | モデルの保護 | AI モデルの学習が完了した後、すべての学習データ (メタデータを含む) を確実に削除できるようにする。 | AWS API calls |
SECAI3.20 | 専有保護 | 知的財産の盗難を防ぐため、独自の識別子や追加のアクセス機構を使ってプロプライエタリなAIモデルを保護する。 | Manual |
SECAI3.21 | データの改ざん防止 | すべてのユーザーに対して、モデル学習に使用中のデータの改ざんを防ぐメカニズムを有効化する。 | AWS API calls |
SECAI3.22 | API認証/承認 | 公開APIに対して多層の認証と承認を実装する。 | Manual |
Sustainable (コントロール数:4)
ID | 内容 | 説明 | チェックタイプ |
---|---|---|---|
SUSTAI3.1 | エネルギー効率の高いアルゴリズム | 計算リソースを最小限に抑えるアルゴリズムを選択する。学習と推論のエネルギー消費を削減することで、大幅な CO2 排出量の削減につながる。 | Manual |
SUSTAI3.2 | 最適化されたハードウェアとデータストレージ | エネルギー効率の高いAIハードウェアアクセラレータを活用する。データの重複を避け、効率的に保管する。 | Manual |
SUSTAI3.3 | モデルの再利用 | 自社で生成したかどうかに関わらず、既存モデルの使用状況を評価・特定し、再利用できるシナリオを文書化する。 | AWS API calls |
SUSTAI3.4 | 分散型のAI学習 | 複数の組織が協力して1つのモデルを学習する分散型の取り組みを支援する。これにより、環境への影響が特定の場所に集中しなくなる。 | Manual |
さいごに
本日は AWS Audit Manager の AWS Generative AI Best Practices Framework が v2 にアップグレードされ、SageMaker もマッピングされるようになったので、変更点を確認しフレームワークのコントロール内容をまとめてみました。
Audit Manager を使っていない方も、Bedrock や SageMaker を使っている方は是非ガイドラインや監査の観点から参考になると思いますのでフレームワークをチェック頂けると良いと思います。
さらに、これらの半自動化まで行って安全に生成 AI を活用したい方は AWS Audit Manager も使ってみてください。
Audit Manager は Config ルールなどの既存の仕組みに加えて、AWS API のポーリング実行や手動のエビデンス収集など、便利な機能も多いです。